package com.softoa.mapper;

import com.softoa.pojo.Permission;
import org.apache.ibatis.annotations.Mapper;

/**
 * 权限
 *
 * @author LinKun
 * @date 2022-6-21 16:52
 */
@Mapper
public interface PermissionMapper {
    /**
     * 添加权限
     *
     * @param permission 需要添加的对象
     * @return 是否添加成功1/0
     */
    int permissionInsert(Permission permission);

    /**
     * 批量修改删除状态操作。将状态改为1
     *
     * @param permissions 需要修改删除状态的权限编号数组
     * @return 返回是否修改成功1/0
     */
    int permissionDeleteMultiple(int[] permissions);

    /**
     * 修改权限信息，传入一个权限对象
     *
     * @param permission 传入的权限对象
     * @return 返回数值、1代表成功修改，0代表修改失败
     */
    int permissionUpdate(Permission permission);
    /**
     * 多条件进行查询,传入一个有对应查询条件的权限对象,主要根据状态，名字，如果不存在就返回所有没删除的权限对象
     *
     * @param permission 用于传递查询条件的权限
     * @return 返回值为符合要求的权限对象列表
     */
    java.util.List<Permission> permissionListMultiple(Permission permission);

//    下面三个方法针对用户登录系统后用于权限获取

    /**
     * 普通员工权限获取
     *
     * @return 返回权限
     */
    java.util.List<Permission> permissonEmployee();

    /**
     * 部门经理权限获取
     *
     * @return 返回权限
     */
    java.util.List<Permission> permissonManager();

    /**
     * 系统管理员权限获取
     *
     * @return 返回权限
     */
    java.util.List<Permission> permissonSystem();
}
